package org.HisCanvas.ChrisRiffle.JFlightLog.dataModel;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;



/**
 * 
 * @author RIF
 */
@Entity
public class LogBookRec {
  
  
  //***********************************************************
  //***********************************************************
  //                    MEMBERS
  //***********************************************************
  //***********************************************************


	@Id
	@GeneratedValue
	private int primaryKey;

	private Date flightDate;

	private String aircraftType;

	private String aircraftRegistration;

	private String departAirportCode;

	private String arrivalAirportCode;

	private Short landingsTotalCount;

	private Short landingsDayCount;

	private Short landingsNightCount;

	private BigDecimal singleEngineHours;

	private BigDecimal multiEngineHours; 
	
	private BigDecimal xCountryHours; 			

	private BigDecimal dayHours; 
	
	private BigDecimal nightHours; 			

	private BigDecimal instrumentActualHours; 
	
	private BigDecimal instrumentSimHours; 		

	private Short iapCount; 

	private String iapNames; 

	private String safetyPilotName; 

	private BigDecimal simHours; 			

	private BigDecimal dualReceivedHours; 			

	private BigDecimal dualGivenHours; 			

	private BigDecimal picHours; 			

	private BigDecimal  sicHours; 			

	private BigDecimal soloHours;

	private BigDecimal totalHours;			

	private String remarks;

	
	
	/**
	 * Constructor - overloaded version accepts prim. key.  
	 * 
	 * Intended to be populated w/logbookrec objects from the database
	 * 
	 * @param primaryKey the primary key
	 */
	public LogBookRec(int pPkId) {
	
		primaryKey = pPkId;
	}
	
		
	/**
	 * note: it doesn't set the key
	 */
	public LogBookRec(Date flightDate, String aircraftType,
			String aircraftRegistration, String departAirportCode,
			String arrivalAirportCode, Short landingsTotalCount,
			Short landingsDayCount, Short landingsNightCount,
			BigDecimal singleEngineHours, BigDecimal multiEngineHours,
			BigDecimal xCountryHours, BigDecimal dayHours,
			BigDecimal nightHours, BigDecimal instrumentActualHours,
			BigDecimal instrumentSimHours, Short iapCount, String iapNames,
			String safetyPilotName, BigDecimal simHours,
			BigDecimal dualReceivedHours, BigDecimal dualGivenHours,
			BigDecimal picHours, BigDecimal sicHours, BigDecimal soloHours,
			BigDecimal totalHours, String remarks) {
		super();
		this.flightDate = flightDate;
		this.aircraftType = aircraftType;
		this.aircraftRegistration = aircraftRegistration;
		this.departAirportCode = departAirportCode;
		this.arrivalAirportCode = arrivalAirportCode;
		this.landingsTotalCount = landingsTotalCount;
		this.landingsDayCount = landingsDayCount;
		this.landingsNightCount = landingsNightCount;
		this.singleEngineHours = singleEngineHours;
		this.multiEngineHours = multiEngineHours;
		this.xCountryHours = xCountryHours;
		this.dayHours = dayHours;
		this.nightHours = nightHours;
		this.instrumentActualHours = instrumentActualHours;
		this.instrumentSimHours = instrumentSimHours;
		this.iapCount = iapCount;
		this.iapNames = iapNames;
		this.safetyPilotName = safetyPilotName;
		this.simHours = simHours;
		this.dualReceivedHours = dualReceivedHours;
		this.dualGivenHours = dualGivenHours;
		this.picHours = picHours;
		this.sicHours = sicHours;
		this.soloHours = soloHours;
		this.totalHours = totalHours;
		this.remarks = remarks;
	}




	/**
	 * An empty constructor that doesn't accept a primary key argument.
	 * 
	 * Intended to create this java object, and insert it into the database,
	 * which handles generating the primary key
	 * 
	 */
	public LogBookRec() {
		
	}
	
	//***********************************************************
	//***********************************************************
	//						getters
	//***********************************************************
	//***********************************************************
	
	/**
	 * Gets the primaryKey
	 * @return the primaryKey
	 */
	public int getPrimaryKey() {
		return primaryKey;
	}
	
	/**
	 * Gets the flightDate
	 * @return the flightDate
	 */
	public Date getFlightDate() {
		return flightDate;
	}



	/**
	 * Gets the aircraftType
	 * @return the aircraftType
	 */
	public String getAircraftType() {
		return aircraftType;
	}

	/**
	 * Gets the aircraftRegistration
	 * @return the aircraftRegistration
	 */
	public String getAircraftRegistration() {
		return aircraftRegistration;
	}

	/**
	 * Gets the departAirportCode
	 * @return the departAirportCode
	 */
	public String getDepartAirportCode() {
		return departAirportCode;
	}

	/**
	 * Gets the arrivalAirportCode
	 * @return the arrivalAirportCode
	 */
	public String getArrivalAirportCode() {
		return arrivalAirportCode;
	}

	/**
	 * Gets the landingsTotalCount
	 * @return the landingsTotalCount
	 */
	public Short getLandingsTotalCount() {
		return landingsTotalCount;
	}

	/**
	 * Gets the landingsDayCount
	 * @return the landingsDayCount
	 */
	public Short getLandingsDayCount() {
		return landingsDayCount;
	}

	/**
	 * Gets the landingsNightCount
	 * @return the landingsNightCount
	 */
	public Short getLandingsNightCount() {
		return landingsNightCount;
	}

	/**
	 * Gets the singleEngineHours
	 * @return the singleEngineHours
	 */
	public BigDecimal getSingleEngineHours() {
		return singleEngineHours;
	}

	/**
	 * Gets the multiEngineHours
	 * @return the multiEngineHours
	 */
	public BigDecimal getMultiEngineHours() {
		return multiEngineHours;
	}

	/**
	 * Gets the xCountryHours
	 * @return the xCountryHours
	 */
	public BigDecimal getxCountryHours() {
		return xCountryHours;
	}

	/**
	 * Gets the dayHours
	 * @return the dayHours
	 */
	public BigDecimal getDayHours() {
		return dayHours;
	}

	/**
	 * Gets the nightHours
	 * @return the nightHours
	 */
	public BigDecimal getNightHours() {
		return nightHours;
	}

	/**
	 * Gets the instrumentActualHours
	 * @return the instrumentActualHours
	 */
	public BigDecimal getInstrumentActualHours() {
		return instrumentActualHours;
	}

	/**
	 * Gets the instrumentSimHours
	 * @return the instrumentSimHours
	 */
	public BigDecimal getInstrumentSimHours() {
		return instrumentSimHours;
	}

	/**
	 * Gets the iapCount
	 * @return the iapCount
	 */
	public Short getIapCount() {
		return iapCount;
	}

	/**
	 * Gets the iapNames
	 * @return the iapNames
	 */
	public String getIapNames() {
		return iapNames;
	}

	/**
	 * Gets the safetyPilotName
	 * @return the safetyPilotName
	 */
	public String getSafetyPilotName() {
		return safetyPilotName;
	}

	/**
	 * Gets the simHours
	 * @return the simHours
	 */
	public BigDecimal getSimHours() {
		return simHours;
	}

	/**
	 * Gets the dualReceivedHours
	 * @return the dualReceivedHours
	 */
	public BigDecimal getDualReceivedHours() {
		return dualReceivedHours;
	}

	/**
	 * Gets the dualGivenHours
	 * @return the dualGivenHours
	 */
	public BigDecimal getDualGivenHours() {
		return dualGivenHours;
	}

	/**
	 * Gets the picHours
	 * @return the picHours
	 */
	public BigDecimal getPicHours() {
		return picHours;
	}

	/**
	 * Gets the sicHours
	 * @return the sicHours
	 */
	public BigDecimal getSicHours() {
		return sicHours;
	}

	/**
	 * Gets the soloHours
	 * @return the soloHours
	 */
	public BigDecimal getSoloHours() {
		return soloHours;
	}

	/**
	 * Gets the totalHours
	 * @return the totalHours
	 */
	public BigDecimal getTotalHours() {
		return totalHours;
	}

	/**
	 * Gets the remarks
	 * @return the remarks
	 */
	public String getRemarks() {
		return remarks;
	}

	//***********************************************************
	//***********************************************************
	//						setters
	//***********************************************************
	//***********************************************************
	
	
	/**
	 * Sets the primaryKey
	 * @param primaryKey the primaryKey to set
	 */
	public void setPrimaryKey(int primaryKey) {
		this.primaryKey = primaryKey;
	}
	
	
	
	/**
	 * Sets the flightDate
	 * @param flightDate the flightDate to set
	 */
	public void setFlightDate(Date flightDate) {
		this.flightDate = flightDate;
	}

	/**
	 * Sets the aircraftType
	 * @param aircraftType the aircraftType to set
	 */
	public void setAircraftType(String aircraftType) {
		this.aircraftType = aircraftType;
	}

	/**
	 * Sets the aircraftRegistration
	 * @param aircraftRegistration the aircraftRegistration to set
	 */
	public void setAircraftRegistration(String aircraftRegistration) {
		this.aircraftRegistration = aircraftRegistration;
	}

	/**
	 * Sets the departAirportCode
	 * @param departAirportCode the departAirportCode to set
	 */
	public void setDepartAirportCode(String departAirportCode) {
		this.departAirportCode = departAirportCode;
	}

	/**
	 * Sets the arrivalAirportCode
	 * @param arrivalAirportCode the arrivalAirportCode to set
	 */
	public void setArrivalAirportCode(String arrivalAirportCode) {
		this.arrivalAirportCode = arrivalAirportCode;
	}

	/**
	 * Sets the landingsTotalCount
	 * @param landingsTotalCount the landingsTotalCount to set
	 */
	public void setLandingsTotalCount(Short landingsTotalCount) {
		this.landingsTotalCount = landingsTotalCount;
	}

	/**
	 * Sets the landingsDayCount
	 * @param landingsDayCount the landingsDayCount to set
	 */
	public void setLandingsDayCount(Short landingsDayCount) {
		this.landingsDayCount = landingsDayCount;
	}

	/**
	 * Sets the landingsNightCount
	 * @param landingsNightCount the landingsNightCount to set
	 */
	public void setLandingsNightCount(Short landingsNightCount) {
		this.landingsNightCount = landingsNightCount;
	}

	/**
	 * Sets the singleEngineHours
	 * @param singleEngineHours the singleEngineHours to set
	 */
	public void setSingleEngineHours(BigDecimal singleEngineHours) {
		this.singleEngineHours = singleEngineHours;
	}

	/**
	 * Sets the multiEngineHours
	 * @param multiEngineHours the multiEngineHours to set
	 */
	public void setMultiEngineHours(BigDecimal multiEngineHours) {
		this.multiEngineHours = multiEngineHours;
	}

	/**
	 * Sets the xCountryHours
	 * @param xCountryHours the xCountryHours to set
	 */
	public void setxCountryHours(BigDecimal xCountryHours) {
		this.xCountryHours = xCountryHours;
	}

	/**
	 * Sets the dayHours
	 * @param dayHours the dayHours to set
	 */
	public void setDayHours(BigDecimal dayHours) {
		this.dayHours = dayHours;
	}

	/**
	 * Sets the nightHours
	 * @param nightHours the nightHours to set
	 */
	public void setNightHours(BigDecimal nightHours) {
		this.nightHours = nightHours;
	}

	/**
	 * Sets the instrumentActualHours
	 * @param instrumentActualHours the instrumentActualHours to set
	 */
	public void setInstrumentActualHours(BigDecimal instrumentActualHours) {
		this.instrumentActualHours = instrumentActualHours;
	}

	/**
	 * Sets the instrumentSimHours
	 * @param instrumentSimHours the instrumentSimHours to set
	 */
	public void setInstrumentSimHours(BigDecimal instrumentSimHours) {
		this.instrumentSimHours = instrumentSimHours;
	}

	/**
	 * Sets the iapCount
	 * @param iapCount the iapCount to set
	 */
	public void setIapCount(Short iapCount) {
		this.iapCount = iapCount;
	}

	/**
	 * Sets the iapNames
	 * @param iapNames the iapNames to set
	 */
	public void setIapNames(String iapNames) {
		this.iapNames = iapNames;
	}

	/**
	 * Sets the safetyPilotName
	 * @param safetyPilotName the safetyPilotName to set
	 */
	public void setSafetyPilotName(String safetyPilotName) {
		this.safetyPilotName = safetyPilotName;
	}

	/**
	 * Sets the simHours
	 * @param simHours the simHours to set
	 */
	public void setSimHours(BigDecimal simHours) {
		this.simHours = simHours;
	}

	/**
	 * Sets the dualReceivedHours
	 * @param dualReceivedHours the dualReceivedHours to set
	 */
	public void setDualReceivedHours(BigDecimal dualReceivedHours) {
		this.dualReceivedHours = dualReceivedHours;
	}

	/**
	 * Sets the dualGivenHours
	 * @param dualGivenHours the dualGivenHours to set
	 */
	public void setDualGivenHours(BigDecimal dualGivenHours) {
		this.dualGivenHours = dualGivenHours;
	}

	/**
	 * Sets the picHours
	 * @param picHours the picHours to set
	 */
	public void setPicHours(BigDecimal picHours) {
		this.picHours = picHours;
	}

	/**
	 * Sets the sicHours
	 * @param sicHours the sicHours to set
	 */
	public void setSicHours(BigDecimal sicHours) {
		this.sicHours = sicHours;
	}

	/**
	 * Sets the soloHours
	 * @param soloHours the soloHours to set
	 */
	public void setSoloHours(BigDecimal soloHours) {
		this.soloHours = soloHours;
	}

	/**
	 * Sets the totalHours
	 * @param totalHours the totalHours to set
	 */
	public void setTotalHours(BigDecimal totalHours) {
		this.totalHours = totalHours;
	}

	/**
	 * Sets the remarks
	 * @param remarks the remarks to set
	 */
	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}
	

	
	
	
}




